#ifndef SEMANTICNODEBLOCKADVANCE_H_
#define SEMANTICNODEBLOCKADVANCE_H_

#include "SemanticNode.h"
#include "LabeledNode.h"
#include <string>

class SemanticNodeExpression;

class SemanticNodeBlockAdvance : public SemanticNode, public LabeledNode {
private:
	SemanticNodeExpression *timeExpression; // time
	SemanticNodeExpression *deviationExpression; // time
	bool deviation;

public:
	SemanticNodeBlockAdvance(const SyntaxTreeNode *advanceNodeParent, SemanticNode *parent);

	void setTime(SemanticNodeExpression *time);
	void setDeviation(SemanticNodeExpression *deviation);

	bool hasDeviation();

	virtual std::string toDebugString(int tab);
};

#endif /* SEMANTICNODEBLOCKADVANCE_H_ */